package com.app.manage.moudles.push.service;

import com.app.manage.moudles.push.entity.TPushTaskApp;
import com.app.manage.moudles.push.pojo.TaskSearchPojo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.app.manage.moudles.push.entity.TPushTask;

import java.util.List;

/**
 * (TPushTask)表服务接口
 *
 * @author makejava
 * @since 2025-05-28 10:07:55
 */
public interface TPushTaskService extends IService<TPushTask> {

    /**
     * 分页查询
     * @param pageNum
     * @param pageSize
     * @param task
     * @return
     */
    IPage<TPushTask> pageData(Integer pageNum, Integer pageSize, TaskSearchPojo task);

    /**
     * 根据主键查询
     * @param taskId
     * @return
     */
    TPushTask  findById(Integer taskId);

    /**
     *构建空的任务
     * @return
     */
    TPushTask buildNewTask();

    /**
     * 保存
     * @param tPushTask
     * @return
     */
    TPushTaskApp saveTask(TPushTask tPushTask);

    /**
     * 删除无效的历史记录
     * @param taskId
     */
    String  removeOld(Integer taskId);


    /**
     * 加载所有的任务到定时任务
     */
    void  loadTaskToTimer() throws Exception;


    /**
     * 任务终止
     * @param taskId
     * @return
     */
    String stopTask(Integer taskId);

    /**
     * 重启任务
     * @param taskId
     * @return
     */
    String restartTask(Integer taskId);



}

